package com.ruoyi.erp.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.utils.StringUtils;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目对象 project
 * 
 * @author sauger
 * @date 2022-03-09
 */
@Data
public class Project extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Integer id;

    /** 客户id */
    private Integer customerId;



    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectCode;

    /** 项目简称 */
    @Excel(name = "项目简称")
    private String shortTitle;

    /** 项目类型 */
    @Excel(name = "项目类型", dictType = "project_type")
    private String projectType;

    /** 项目名称 */
    private String title;
    @Excel(name = "事业部")
    private String businessUnitName;

    /** 客户简称 */
    @Excel(name = "客户简称")
    private String customerName;
    /** 开工时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开工时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date kickoffDate;

    /** 项目阶段 **/
    @Excel(name = "项目阶段", dictType = "project_stage")
    private String projectStage;

    /** 税率 */
    @Excel(name = "合同/po金额")
    private BigDecimal amount;

    private BigDecimal billedAmount;

    @Excel(name = "已收金额", type = Excel.Type.EXPORT)
    private BigDecimal payedAmount;

    private Integer businessUnitId;


    /** 启用状态 */
    private Integer projectStatus;

//    @Excel(name = "作废金额", type = Excel.Type.EXPORT)
    private BigDecimal abortAmount;

    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "po到期时间", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.EXPORT)
    private Date poEndDate;
    /** 税率 */
    @Excel(name = "税率")
    private BigDecimal tax;

    /** 项目经理 */
    @Excel(name = "项目经理")
    private String projectManagerName;
    private Integer projectManager;

    /** 商务经理 */
    @Excel(name = "商务经理")
    private String accountManagerName;

    private Integer accountManager;

    /** 交付经理 */
    @Excel(name = "交付经理")
    private String deliveryManagerName;
    private Integer deliveryManager;

    private BusinessUnit businessUnit;

    /** 项目描述 **/
    @Excel(name = "项目描述")
    private String description;

    private Integer opportunityId;

}
